package main

import (
	"fmt"
	"math"
)

/*
	课后作业 2：判断两条线是否平行
	两点决定一条直线
	两条线是否平行取决于两条线的斜率是否一样
*/
func main() {
	var lin1ax float64
	var lin1ay float64
	var lin1bx float64
	var lin1by float64
	var lin2ax float64
	var lin2ay float64
	var lin2bx float64
	var lin2by float64
	fmt.Println("请输入线段1的A点X坐标")
	fmt.Scanf("%f", &lin1ax)
	fmt.Println("请输入线段1的A点Y坐标")
	fmt.Scanf("%f", &lin1ay)
	fmt.Printf("线段1A点X坐标 %f,%f \n", lin1ax, lin1ay)

	fmt.Println("请输入线段1的B点X坐标")
	fmt.Scanf("%f", &lin1bx)
	fmt.Println("请输入线段1的B点Y坐标")
	fmt.Scanf("%f", &lin1by)
	fmt.Printf("线段1B点坐标 %f,%f \n", lin1bx, lin1by)

	fmt.Println("请输入线段2的A点X坐标")
	fmt.Scanf("%f", &lin2ax)
	fmt.Println("请输入线段2的A点Y坐标")
	fmt.Scanf("%f", &lin2ay)
	fmt.Printf("线段2A点坐标 %f,%f \n", lin2ax, lin2ay)

	fmt.Println("请输入线段2的B点X坐标")
	fmt.Scanf("%f", &lin2bx)

	fmt.Println("请输入线段2的B点Y坐标")
	fmt.Scanf("%f", &lin2by)
	fmt.Printf("线段2B点坐标 %f,%f \n", lin2bx, lin2by)

	//lin1 回归原点
	lin1bx = lin1bx - lin1ax
	lin1by = lin1by - lin1ay
	//lin1的长度
	len1 := math.Sqrt(lin1bx*lin1bx + lin1by*lin1by)
	//lin2 回归原点
	lin2bx = lin2bx - lin2ax
	lin2by = lin2by - lin2ay
	//lin2的长度
	len2 := math.Sqrt(lin2bx*lin2bx + lin2by*lin2by)

	//lin1 b点--lin2  b点的距离
	lenb := math.Sqrt((lin2by-lin1by)*(lin2by-lin1by) + (lin2bx-lin1bx)*(lin2bx-lin1bx))
	//lin1+lin2 是否等于2个B的距离，若1相等则平行
	lenall := len1 + len2

	if lenb == lenall {
		fmt.Println("2条线平行")
	} else {
		fmt.Println("2条线不平行")
	}
}
